Typically, a log stream includes historical log data to be used in, for instance, problem determination, recovery and/or maintenance of a computer system. In particular, the log data contains the state of various transactions that are executing or have executed on the computer system.
If the computer system or a component of the computer system fails, the log data is used in completing any incomplete transactions.
Generally, if a system or a component of the system fails resulting in incomplete transactions, the transactions cannot be completed until the failed system (or component) is reinitialized. One exception to this is when another system is dedicated as a back-up to the failed system. In that case, the incomplete transactions can be completed on the back-up system, once the back-up system performs certain tasks to get ready for the processing of the incomplete transactions.
One example of a dedicated back-up system is described in U.S. Pat. No. 5,155,678, entitled "Data Availability in Prestartable Data Base System," issued Oct. 13, 1992 and assigned to the same assignee as the present invention. As described therein, the back-up system processes the log records written by the failed system and when the processing is complete, the log is closed. Thus, the log is a single system log, written to by only one system.
The use of a dedicated back-up system has obvious disadvantages, including the cost associated with maintaining two systems, one of which is of limited use. Thus, a need exists for a mechanism that allows one system to complete transactions for another system, without requiring the system to be dedicated as a back-up system.
Additionally, a need exists for a mechanism that allows one system in a multisystem environment to take over log entries of another system in the multisystem environment, wherein the log entries are part of a multisystem log stream. A further need exists for a log management capability in which the restarting of a failing system (or a failing component) is independent of the restarting of transactions that had been active on the failing system. A yet further need exists for a mechanism that can recover from a failure during the process of recovering from another failure.